SSM Class

SSM Class

Contents

classdef SSM < Manifold
        

SSM

Spectral Submanifold Computation - this forms a subclass of the Manifold class and serves for the computation of SSMs. Furthermore a variety of methods are implemented for the analysis of the reduced dynamics on the computed SSMs, and for mapping the results back to the manifold in the full physical system.

    properties
        
       contOptions = cocoOptions(); % Settings for continuation
       FRCOptions = FRCOptions();   % Settings for the computation of the forced response
       FRSOptions = FRSOptions();
        

Some methods need explicit access to the non-autonomous manifold and reduced dynamics. The coefficients which characterise these are dependent on the forcing frequency. Thus, in order to keep track of the changing coefficients when using continuation, they are stored and updated directly in the SSM class.

       R_1 = []; % coefficients nonaut reduced dynamics, used in 'continuation po'
       W_1 = []; % nonautonomoues ssm coefficients, used in 'continuation po'
        
    end

    properties (SetAccess = private)
        FRCInfo = struct('lvlsetTimeAut',[],'lvlsetTimeNonAut',[])
        % This data structure stores the solution information:
        % memory consumption estimate in MB at each order
        % computational time estimate in seconds at each order
    end
        

Methods

    methods
        

For the extraction of FRCs in a given parameter (forcing frequency or amplitude) along a given range, the extract_FRC functions is provided:

        FRC = extract_FRC(obj, parName, parRange, order)
        

One of the following three subroutines may be used for the computation of these FRCs, two of them based on continuation. The level_set routine analytically finds the periodic orbits for reduced dynamics on a 2D SSM.

        varargout = FRC_cont_ep(obj,oid,modes,order,mFreq,parName,parRange,outdof,varargin);
        varargout = FRC_cont_po(obj,oid,resModes,order,parRange);
        [FRC]     = FRC_level_set(obj, resMode, order, parName, parRange)
        

If a sweep of FRCs is to be computed for various forcing frequencies, the following functions may be applied. They are based on the routines presented above, and execute them for varying forcing amplitude.

        varargout = SSM_epSweeps(obj,oid,run,lab,epSamps,omRange,outdof,varargin);
        varargout = SSM_poSweeps(obj,oid,resonant_modes,order,mFreqs,epSamp,omRange,varargin)
        FRCs = SSM_lvlSweeps(obj, omRange, epsSamp, ORDER)
        

Backbone curves of dynamical systems can be computed from the ROM on an SSM via:

        BB = extract_backbone(obj,modes,order,outdof,varargin)
        

The resonance tongue for a given mode of a parametrically excited system, also known as Stability (Ince-Strutt) diagram, can be computed directly from the reduced dynamics. For this families of bifurcations are continued, the method is available via calling

        [SD] = extract_Stability_Diagram(obj,resModes, order, omRange, epsRange, parName, p0, varargin)
        

For the continuation of equilibria of the reduced dynamics an SSM, the coco-based SSM-ep toolbox provides the following functionalities:

        varargout = SSM_isol2ep(obj,oid,modes,order,mFreq,parName,parRange,outdof,varargin);
        varargout = SSM_ep2ep(obj,oid,run,lab,parName,parRange,outdof,varargin);
        varargout = SSM_BP2ep(obj,oid,run,lab,parName,parRange,outdof,varargin);
        varargout = SSM_ep2SN(obj,oid,run,lab,parRange,outdof,varargin);
        varargout = SSM_ep2HB(obj,oid,run,lab,parRange,outdof,varargin);
        

For the continuation of periodic orbits of the reduced dynamics an SSM, the coco-based SSM-po toolbox provides the following functionalities:

        SSM_isol2po(obj,oid,run,lab,initsol,parName,parRange,outdof,varargin);
        SSM_HB2po(obj,oid,run,lab,parName,parRange,outdof,varargin);
        SSM_po2po(obj,oid,run,lab,parName,parRange,outdof,varargin);
        SSM_BP2po(obj,oid,run,lab,parName,parRange,outdof,varargin);
        SSM_po2TR(obj,oid,run,lab,parRange,outdof,varargin);
        SSM_po2SN(obj,oid,run,lab,parRange,outdof,varargin);
        SSM_po2PD(obj,oid,run,lab,parRange,outdof,varargin);
        

For the continuation of invariant tori of the reduced dynamics an SSM, the tor/coco-based SSM-tor toolbox provides the following functionalities:

        SSM_TR2tor(obj,oid,run,lab,parName,parRange,outdof,varargin);
        SSM_tor2tor(obj,oid,run,lab,parName,parRange,outdof,varargin);
        SSM_BP2tor(obj,oid,run,lab,parName,parRange,outdof,varargin);
        varargout = auto_po_solver(obj,R_0,oid,t0,p0,coordinates);
        

Options for the use of parallel computation are set via the following two functions.

        activate_parallel(obj,varargin);
        deactivate_parallel(obj);
        

extract frequency response surface

        extract_FRS(obj,oid,modes,order,mFreq,parRange,outdof,optdof,scale_state,scale_obs,varargin);
        % extract ridges and trenches along a frequency response surface
        % without computing it
        varargout = extract_ridges_trenches(obj,oid,resonant_modes,order,mFreqs,parRange,outdof,optdof,varargin);
        
    end
        

The core functionalities for the continuation of reduced dynamics, which are used by the library of functions provided for the user, consists of the following three routines:

    methods (Access = protected)
        FRC = SSM_cont_ep(obj,type,oid,run,lab,parName,parRange,outdof,varargin);
        varargout = SSM_cont_po(obj,type,oid,run,lab,initsol,parName,parRange,outdof,varargin);
        varargout = SSM_cont_tor(obj,type,oid,run,lab,parName,parRange,outdof,varargin)
    end
        
end